package com.hb.service;

import org.springframework.security.access.annotation.Secured;

import com.hb.domain.Spittle;

public class SecuredSpittleService implements SpittleService {
    @Override
    // @Secured 注解会使用一个 String 数组作为参数。每个 String 值是一个权限，调用这个方法至少需要具备其中的一个权限。通过传递进来 ROLE_SPITTER，
    // 我们告诉 Spring Security 只允许具有 ROLE_SPITTER 权限的认证用户才能调用 addSpittle() 方法。如果传递给 @Secured 多个权限值，认证用户必须
    // 至少具备其中的一个才能进行方法的调用。例如，下面使用 @Secured 的方式表明用户必须具备 ROLE_SPITTER 或 ROLE_ADMIN 权限才能触发这个方法。
    @Secured({"ROLE_SPITTER", "ROLE_ADMIN"})
    public void addSpittle(Spittle spittle) {
        System.out.println("Method was called successfully");
    }
}
